#include <stdio.h>
#include <stdlib.h>
#include "serial_recv.h"
#include <unistd.h>
// // 波特率转换函数
// speed_t get_baud_rate(int baudrate) {
//     switch (baudrate) {
//         case 9600: return B9600;
//         case 19200: return B19200;
//         case 38400: return B38400;
//         case 57600: return B57600;
//         case 115200: return B115200;
//         case 230400: return B230400;
//         case 460800: return B460800;
//         case 921600: return B921600;
//         case 1152000: return B1152000;
//         default: return -1;
//     }
// }

// 接收循环函数


int main(int argc, char *argv[]) {
    if (argc < 3) {
        printf("Usage: %s <serial_dev> <baudrate>\n", argv[0]);
        printf("Example: %s /dev/ttyF0 1152000\n", argv[0]);
        return 1;
    }
    
    int baudrate = atoi(argv[2]);
    speed_t speed = get_baud_rate(baudrate);
    if (speed == -1) {
        fprintf(stderr, "Unsupported baudrate\n");
        return 1;
    }
    
    int fd = open_serial(argv[1], speed);
    if (fd < 0) return 1;
    
    recv_loop(fd);
    close(fd);
    return 0;
}